home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / protocol / standard / vga / xga.txt < prev    next >
Text File  |  1993-07-14  |  6KB  |  200 lines

  1. Currently the XGA exists only in Microchannel versions.
  2.  
  3. All register accesses happen through a block of 16 registers starting
  4. at a adapter dependant register (called xga in the following).
  5. The register xga+0Ah works as an indexed register ie. xga+0Ah is the
  6. index register and xga+0Bh is the data register.
  7.  
  8.  
  9.  
  10.  
  11.  xga+0:  Operating Mode
  12.  bit 0  Set if VGA, clear if dual monitor.
  13.      2  Set if in an extended mode.
  14.  
  15.  xga+1:  Video Memory Aperture Control
  16.      0 disables 64k aperture
  17.  
  18.  xga+4:  Interrupt Enable
  19.      0 disables interrupts.
  20.  
  21.  xga+5:  Interrupt Status
  22.  bit 0  Start of blanking
  23.     writing 0FFh clears interrupts.
  24.  
  25.  xga+6:  Virtual Memory Control
  26.  
  27.  xga+8:  Video Memory Aperture Index.
  28.  bit 0-7  64k bank number.
  29.  
  30.  xga+9:  Memory Access Mode
  31.     set to 2 in 16 color modes, 3 in 256 color modes and
  32.     4 in 65536 color modes.
  33.  
  34.  xga+Ah index 10h: Horizontal Total low.
  35.  bit 0-7  lower 8 bits of the total number of character clocks
  36.       in a scanline.
  37.  
  38.  xga+Ah index 11h: Horizontal Total high.
  39.  bit 0-7  upper 8 bits of the total number of character clocks
  40.       in a scanline.
  41.  
  42.  xga+Ah index 12h: Horizontal Displayed low.
  43.  bit 0-7  lower 8 bits of the number of displayed character clocks
  44.       in a scanline.
  45.  
  46.  xga+Ah index 13h: Horizontal Displayed high.
  47.  bit 0-7  upper 8 bits of the number of displayed character
  48.       clocks in a scanline.
  49.  
  50.  xga+Ah index 14h: Horizontal Blanking Start low.
  51.  bit 0-7  lower 8 bits of the count at which blanking starts.
  52.  
  53.  xga+Ah index 15h: Horizontal Blanking Start high.
  54.  bit 0-7  upper 8 bits of the count at which blanking starts.
  55.  
  56.  xga+Ah index 16h: Horizontal Blanking End low.
  57.  bit 0-7  lower 8 bits of the count at which blanking ends.
  58.  
  59.  xga+Ah index 17h: Horizontal Blanking End high.
  60.  bit 0-7  upper 8 bits of the count at which blanking ends.
  61.  
  62.  xga+Ah index 18h: Horizontal Sync Start low.
  63.  bit 0-7  lower 8 bits of the Horizontal Sync Start.
  64.  
  65.  xga+Ah index 19h: Horizontal Sync Start high.
  66.  bit 0-7  upper 8 bits of the Horizontal Sync Start.
  67.  
  68.  xga+Ah index 1Ah: Horizontal Sync End low.
  69.  bit 0-7  lower 8 bits of the Horizontal Sync End.
  70.  
  71.  xga+Ah index 1Bh: Horizontal Sync End high.
  72.  bit 0-7  upper 8 bits of the Horizontal Sync End.
  73.  
  74.  xga+Ah index 1Ch: Horizontal Sync Position.
  75.  bit 0-7  lower 8 bits of the Horizontal sync position.
  76.  
  77.  xga+Ah index 1Eh: Horizontal Sync Position.
  78.  bit 0-7  upper 8 bits of the Horizontal sync position.
  79.  
  80.  xga+Ah index 20h: Vertical Total low.
  81.  bit 0-7  lower 8 bits of the total number of scanlines.
  82.  
  83.  xga+Ah index 21h: Vertical Total high.
  84.  bit 0-7  upper 8 bits of the total number of scanlines.
  85.  
  86.  xga+Ah index 22h: Vertical Displayed End low.
  87.  bit 0-7  lower 8 bits of the number of displayed scanlines.
  88.  
  89.  xga+Ah index 23h: Vertical Displayed End high.
  90.  bit 0-7  upper 8 bits of the number of displayed scanlines.
  91.  
  92.  xga+Ah index 24h: Vertical Blanking Start low.
  93.  bit 0-7  lower 8 bits of the Vertical Blanking Start.
  94.  
  95.  xga+Ah index 25h: Vertical Blanking Start high.
  96.  bit 0-7  upper 8 bits of the Vertical Blanking Start.
  97.  
  98.  xga+Ah index 26h: Vertical Blanking End low.
  99.  bit 0-7  lower 8 bits of the Vertical Blanking End.
  100.  
  101.  xga+Ah index 27h: Vertical Blanking End high.
  102.  bit 0-7  upper 8 bits of the Vertical Blanking End.
  103.  
  104.  xga+Ah index 28h: Vertical Sync Start low.
  105.  bit 0-7  lower 8 bits of the Vertical Sync Start.
  106.  
  107.  xga+Ah index 29h: Vertical Sync Start high.
  108.  bit 0-7  upper 8 bits of the Vertical Sync Start.
  109.  
  110.  xga+Ah index 2Ah: Vertical Sync End.
  111.  bit 0-7  .
  112.  
  113.  xga+Ah index 2Ch: Vertical Line Compare low.
  114.  bit 0-7  lower 8 bits of the Line Compare register.
  115.  
  116.  xga+Ah index 2Dh: Vertical Line Compare high.
  117.  bit 0-7  upper 8 bits of the Line Compare register.
  118.  
  119.  xga+Ah index 36h: Sprite Control.
  120.  
  121.  xga+Ah index 40h: Start Address low.
  122.  bit 0-7  bit 0-7 of the display start address.
  123.  
  124.  xga+Ah index 41h: Start Address middle.
  125.  bit 0-7  bit 8-15 of the display Start Address.
  126.  
  127.  xga+Ah index 42h: Start Address high.
  128.  bit 0-7  bit 16-23 of the display Start Address.
  129.  
  130.  xga+Ah index 43h: Pixel Map Width low.
  131.  bit 0-7  lower 8 bits of the Pixel Map Width.
  132.  
  133.  xga+Ah index 44h: Pixel Map Width high.
  134.  bit 0-7  upper 8 bits of the Pixel Map Width.
  135.  
  136.  xga+Ah index 50h: Display Mode 1.
  137.     7=800x600, Fh=1024x768 and C7h=640x480.
  138.  
  139.  xga+Ah index 51h: Display Mode 2.
  140.     2=16 color mode, 3=256 color mode and 4=64k color mode.
  141.  
  142.  xga+Ah index 52h: Monitor type.
  143.  bit   2  Clear if capable of 1024x768.
  144.  
  145.  xga+Ah index 54h: Clock Select.
  146.     0=640x480, 1=800x600, Dh=1024x768 and 4=VGA.
  147.  
  148.  xga+Ah index 55h: Border Color.
  149.  
  150.  xga+Ah index 60h: Palette Address Index low.
  151.  bit 0-7  lower 8 bits of the Palette Address Index.
  152.  
  153.  xga+Ah index 61h: Palette Address Index high.
  154.  bit 0-7  upper 8 bits of the Palette Address Index.
  155.  
  156.  xga+Ah index 62h: Sprite Pre low.
  157.  bit 0-7  lower 8 bits of the Sprite Pre.
  158.  
  159.  xga+Ah index 63h: Sprite Pre high.
  160.  bit 0-7  upper 8 bits of the Sprite Pre.
  161.  
  162.  xga+Ah index 64h: Palette Access.
  163.       0 disables display, FFh enables display.
  164.  
  165.  xga+Ah index 65h: Palette Data Port.
  166.  bit 0-7  Palette data is read and written to this port.
  167.       Each read or write of the register will increment the
  168.       palette address, first through the Red, Green Blue
  169.       cycle, and then increment the Palette Address Index.
  170.  
  171.  xga+Ah index 66h: Palette Mode.
  172.  
  173.  xga+Ah index 70h: External Clock.
  174.  
  175.  
  176.   Video Modes:
  177.    
  178.     640x480   256 colors
  179.     640x480 65536 colors
  180.     800x600    16 colors
  181.     800x600   256 colors
  182.     800x600 65536 colors  
  183.    1024x768    16 colors
  184.    1024x768   256 colors
  185.     
  186.    
  187.    All modes use a linear address mode, where bits 16-23 of the address 
  188.    are in the Video Aperture Index register (xga+8), and the lower 16 bits 
  189.    are the offset from 0A000:0.
  190.  
  191.    In 16 color modes two pixels are stored in each byte. Even pixels are in
  192.    bits 0-3 and odd pixels in bits 4-7.
  193.    Address of pixel = (row *(pixels per row)+column) /2.
  194.  
  195.    In 256 color modes each pixel occupies a byte. The pixels are addressed
  196.    in linear fashion. Address of pixel = row *(pixels per row) + column.
  197.  
  198.    In 65536 color modes each pixel occupies two bytes.
  199.    Address of pixel = (row *(pixels per row)+column)*2.
  200.